python django项目进度管理平台

您所在的位置:网站首页 python 任务管理系统 python django项目进度管理平台

python django项目进度管理平台

2024-07-01 02:31:13| 来源: 网络整理| 查看: 265

开发日志:

2020.10.19:https://blog.csdn.net/qq_36780295/article/details/109159944 (配置Django,创建一个简单的网页)

2020.10.20:https://blog.csdn.net/qq_36780295/article/details/109165967 (html学习整理,部署到局域网,使用Bootstrap)

2020.10.27:https://blog.csdn.net/qq_36780295/article/details/109195710 (简单的登录实现、在数据库中创建表格)

2020.11.2:https://blog.csdn.net/qq_36780295/article/details/109330941 (表查询实现注册和登录,数据库查找数据加载到前端显示,日常报错)

2020.11.3:https://blog.csdn.net/qq_36780295/article/details/109454195 (html中table表格使用,添加滑动条和固定表头,js实现下拉复选框)

2020.11.6:https://blog.csdn.net/qq_36780295/article/details/109484541 (input不显示提示信息,日历,datetime类型数据的显示,使用装饰器实现登录限制,文字下划线)

2020.11.11:https://blog.csdn.net/qq_36780295/article/details/109537494 (html中使用if.else,提交表单不改变下拉框已选值,数据库增删改查,外键,div边角变圆,数据库倒序查找及显示,日期选择组件参数赋值)

2020.11.12:https://blog.csdn.net/qq_36780295/article/details/109642293 (template中循环计数forloop.counter,数据库查找出的数据经过计算后和原数据或数组一起显示)

我做了哪些:

html前端+django后端

表结构:

用户表: 存储了用户的用户名、密码、姓名(姓名会加载到所有的选择负责人下拉框和选择参与人的下拉复选框中)。

项目表: 存储了项目的名称、负责人、参与人、创建日期时间(datetime系统自动获取)、项目周期、项目紧急等级、剩余天数(留存空字段,为了解决问题而留,下面写了)

进度提交表: 存储了项目名称、提交人(通过request.session标记获取)、提交时日期时间(datetime系统自动获取当前时间日期)、提交进度、备注。

功能页

1、登录页面、注册页面、退出登录功能: (1)创建了用户表,注册时将用户的用户名、密码、姓名插入该表,并在登陆时与用户信息进行比对。 (2)request.session会话标记当前用户,以实现不同用户的一些不同操作和显示的参数,在所有的页面中记录登录用户的状态。 (3)结合request.session使用装饰器编写登录验证(不登陆无法访问某些网页,自动跳转到登陆页面进行登录)

2、管理员管理页面: (1)除了链接创建项目,包含一些数据库的基本使用,根据列表上方的下拉框选择的创建日期(与创建日期datetime的date部分比较),下拉选择负责人,下拉选择项目名称,查看已提交的进度日志,点击查询,结果会按照进度表中的条件查找查找结果,然后显示在表格中。 (2)项目列表并显示紧急程度,由于只设定了三个紧急等级,所以对数据库查找的对象进行三次轮询,将每个等级的各个项目放在该紧急分级下,使用bootstrap中的list-group-item显示,并使用该组件对应的danger、success、warning三个状态对三个紧急程度等级的项目进行着色。 (3)天气预报通过div的src链接的外部网页,不作说明。日历的代码通过前端与javascript结合实现,代码来自大佬,自己同样做了一些修改。 (4)最近更新中用作消息提醒,通过根据提交时间倒序读取进度提交表中的数据,以xxx(姓名)在xxx(日期时间)提交了xxx(项目名称)的进度为格式对管理员进度更新的提醒。 (5)项目详情中列出了所有的项目,即从项目表中查询出的所有信息,最后又加了一列剩余天数,通过查询出的项目周期加上项目创建时间,再减去当天日期得到,怎样把剩余天数显示出来我费了一番脑筋。 (6)显示的数据: 其中除了查询按钮查询进度日志,其他表格数据都是预加载。后端路由关联的函数中,在表单get和post之前就将数据库的数据加载,然后在表单载入时返回locals()来加载数据。

3、创建项目页面: (1)创建了项目表,管理员创建项目以后会在项目表中插入一条记录,包含管理员选择的项目的一些信息:项目名称,下拉框选择项目负责人,选择输入项目周期(type=number),下拉复选框选择参与人(插入数据时自动过滤最后的逗号),自动获取系统当前的日期时间(以datetime存储到数据库)下拉框选择项目的紧急程度。(负责人和参与人下拉内容是读取的用户表中的姓名,与创建用户时所输入的姓名对应)

4、普通用户页面: (1)有一部分与管理员页面类似,布局上做了一些修改,增加了进度提交区域,日历、天气、提交进度查询、项目详情等都类似,提交进度处,通过下拉框选择项目(项目表中已存在的项目),然后填写进度和备注,点击提交,然后将项目名称、提交人(request.session标记获取)、提交时间(自动获取当前时间)、提交进度、备注插入到进度提交表中。

遇到的问题:

(1)点击按钮,表单提交,导致页面刷新,之前下拉框和日期选择组件选择内容也被刷新。 (2)想要把计算后的数据和数据库中查询出来的内容一起显示,比如在数据库中查询出来的数据中增加一列剩余天数。一开始想用数组存储算好的天数,然后用循环来做,但是template里面不支持range,后来想用forloop.counter做数组下标,但是这样就变成了参数中加参数:{{create_items.{{forloop.counter}} }},很可惜,报错了。后来又想着用两个表拼接,一张表查数据库,一张表显示数组,但是当页面被缩放时就会显示不正常。想要模拟创建临时表(实际是想创建字典并添加键值对)进行外键的关联,实验了好多次的代码都没有成功。想要通过js来实现,由于查询的数据我也不知道有多少条,不太清楚怎样去实现就放弃了。 (3)datetime数据类型的相关处理计算(相减结果为datetime.timedelta型,而非int型)和正常显示(显示时需要转换格式) (4)下拉复选框无法正常勾选和返回结果的解析。 (5)直接登入网页预加载数据正常显示,而登录跳转到该页面就不正常显示。

解决方案: (1)在后端保存上一次下拉框选择结果,然后在提交表单后再将这个保存的结果提交给前端。这是笨办法,后面了解到可以用ajax来做。 (2)我在显示的表里面有创建了一个新的字段(假设为字段a1),字段中不显示任何内容,插入数据时也插入为空,然后将计算好的数值使用循环依次放到接收数据库查询内容的对象的a1属性内,然后在前端就可以和该对象的其他属性一样用了。 (3)datetime.timedelta型转int只需在后面加上.days,关于正常显示解决方法见上方开发日志,里面有说明。 (4)下拉复选框的代码来自大佬,由于去除勾选无法正确删去内容,自己在javascript中增加了定位函数,然后增删就正确了。关于解析,由于下拉复选框选择以后将勾选项相连,使用逗号相隔,所以在创建项目存储时我舍弃了最后一个逗号,在使用时通过逗号来定位,截取每一个选项放到数组中,以此来调用。 (5)在登陆页面也对数据库中查询的数据进行加载。

界面

登录注册和创建项目等由于做的比较丑,所以页面就没放了,该有的功能基本实现了,创建项目,提交日志,查看项目,查看日志,最近更新,项目分级等。由于刚刚学习Django不久,看了半天代码就直接上手,边做边学,所以还是比较吃力,最主要的还是自己太菜。开发过程学到非常多的东西,也克服了很多开发时遇到的问题。之后有时间会对界面进行美化和功能的增加,希望以后能自己做一个自己的网站吧,把我学会的东西都放上去。

管理员查看项目和创建项目页面: 在这里插入图片描述

普通用户查看项目和提交日志页面:

在这里插入图片描述

更新于2021-3-17:

学了一段时间,最近又把这个找了出来,对所有的界面进行了一个重写,加了一些特效,感觉看起来应该比原来好多了吧。

(1)登录页面:

在这里插入图片描述

(2)注册页面:

在这里插入图片描述

(3)负责人账号页面:

由于设置了background-attachment:fixed;background-repeat:no-repeat;,浏览网页时显示是正常的,但是用360浏览器截取时,下面半部分就有一大片空白,所以我直接把下半部分截到的有空白的去掉了。 在这里插入图片描述

(4)参与人项目进度提交界面:

在这里插入图片描述

(5)创建项目页面:

在这里插入图片描述 其他增加的一些特效截不出来,比如下雪特效,跟随鼠标的线的特效,不过这些代码网上已经很多了,就不做说明了。界面上该有的功能之前就都做好了,所以后端部分也没有去做任何的修改。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭